package cn.zjnu.study.bean;

import java.util.HashMap;
import java.util.Map;

public class Msg {

    private int code;

    private String msg;

    private Map<String, Object> extras;

    public static Msg success() {

        Msg msg = new Msg();
        msg.extras = new HashMap<>();
        msg.setCode(0);

        return msg;
    }

    public static Msg success(String message) {
        Msg msg = success();
        msg.setMsg(message);
        return msg;
    }

    public static Msg error() {
        Msg msg = new Msg();
        msg.extras = new HashMap<>();
        msg.setCode(-1);
        return msg;
    }

    public static Msg error(String message) {
        Msg msg = error();
        msg.setMsg(message);
        return msg;
    }

    public static Msg msg(int code, String message) {
        Msg msg = new Msg();
        msg.setCode(code);
        msg.setMsg(message);
        return msg;
    }

    public Msg addExtra(String key, Object value) {
        extras.put(key, value);
        return this;
    }

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Map<String, Object> getExtras() {
        return extras;
    }

    public void setExtras(Map<String, Object> extras) {
        this.extras = extras;
    }


}
